package com.icinfo.cloud.provider.punish.fastcase.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.icinfo.cloud.provider.punish.common.documentoperate.dto.DocumentRelateAttachmentVo;
import com.icinfo.cloud.provider.punish.config.vo.MachDocumentInfoVo;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 描述：
 * @author shishengyao
 * @description
 * @date 2023/4/23
 */
@Data
public class FastCaseMergeDocumentVo {
    /**
     * 文书id
     */
    private String documentId;
    /**
     * 文书url
     */
    private String documentUrl;
    /**
     * 文书种类编号
     */
    private String documentKindCode;
    /**
     * 文书种类名称
     */
    private String documentKindName;
    /**
     * 文书标题
     */
    private String documentTitle;
    /**
     * 文书类型id
     */
    private String documentTypeId;

    /**
     * 文书类型名称(审批表、法律文书)-DocumentTypeEnum
     */
    private String documentTypeName;

    /**
     * 是否需要送达回执  0:不需要1:需要
     */
    private String isReceipt;

    /**
     * 是否需要电子送达 0:不需要 1:需要
     */
    private String isElecSend;

    /**
     * 是否需要签字确认， 0 不需要；1 需要
     */
    private String isConfirm;

    /**
     * 文书目录编码
     */
    private String documentCatalogCode;

    /**
     * 文书目录名称
     */
    private String documentCatalogName;

    /**
     * 创建人
     */
    private String createUserName;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime documentCreateTime;
    /**
     * 审核状态
     */
    private String documentApprovalStatus;
    /**
     * 审核状态名称
     */
    private String documentApprovalStatusName;
    /**
     * 送达状态
     */
    private String documentSentStatus;
    /**
     * 送达状态名称
     */
    private String documentSentStatusName;
    /**
     * 签字状态
     */
    private String documentSignstampedStatus;
    /**
     * 签字状态名称
     */
    private String documentSignstampedStatusName;
    /**
     * 审批完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime approvalFinishTime;
    /**
     * 送达时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime sentTime;

    /**
     * 盖章后文书地址
     */
    private String documentUrlAfterSeal;

    /**
     * 盖章后文书地址
     */
    private String documentUrlAfterSign;

    /**
     * 文书文号
     */
    private String documentNumber;

    /**
     * 签字时间（当事人）
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime signTime;
    /**
     * 文书关联附件列表
     */
    private List<DocumentRelateAttachmentVo> documentRelateAttachmentList;

    /**
     * 是否有配对文书 0-否 1-是
     */
    private String isMatchDocument;

    /**
     * 配对文书目录编码
     */
    private String matchDocumentCatalogCode;

    /**
     * 文书状态编码 1:正常 2:草稿 3:撤回
     */
    private String documentRecordStatus;

    /**
     * 文书状态名称
     */
    private String documentRecordStatusName;

    /**
     * 关联对象 1:案件 2:当事人
     */
    private String documentLinkObjectType;

    /**
     * 当事人名称
     */
    //private String partyName;

    /**
     * 当事人id
     */
    private String partyId;

    /**
     * 是否失效 0:否 1:是
     */
    private String isInvalid;
    /**
     * 案件文书类别标识（用于特殊文书的处理）
     * 1案件变更操作文书 2 强制执行情况记录文书 3 线下上传文书 4 关联app端文书
     */
    private String caseDocumentTypeFlag;

    /**
     * 是否展示公示编码 0:不展示公示;1:展示公示 (处罚决定书记录使用)
     */
    private String isShowPublicity;
    /**
     * 是否展示公示 不展示公示/展示公示(处罚决定书记录使用)
     */
    private String isShowPublicityName;

    /**
     * 相关联的审批表法律文书集合
     */
    private List<String> allRelationDocCatalogCodeList;

    /**
     * 案件阶段code
     */
    private String caseStageCode;
    /**
     * 是否需要审批；1 是 0 否
     */
    private String isNeedApproval;
    /**
     * 案源中心文书只展示详情；1 是 0 否
     */
    private String isOnlyDetail;

    /**
     * 案件环节名称
     */
    private String caseLinkName;

    /**
     * 案件环节编码
     */
    private String caseLinkCode;
    /**
     * 配对文书
     */
    private MachDocumentInfoVo machDocumentInfoVo;

    /**
     * 是否证据文件 0否/1是
     * 证据文件需要调用预览证据接口
     *
     */
    private String isEvidenceDoc;

    /**
     * 是否展示移送按钮 0:不展示;1:展示 (涉嫌犯罪案件移送书记录使用)
     */
    private String isShowTransfer;

    /**
     * 是否展示移送详情按钮 0:不展示;1:展示 (涉嫌犯罪案件移送书记录使用)
     */
    private String isShowTransferDetail;

    /**
     * 发送uid(协查协办详情)
     */
    private String sendUid;

    /**
     * 部门关联uid（协查协办详情）
     */
    private String deptRelUid;
    /**
     *
     * 浙里办填写送达地址确认书 1/2-浙里办,为空不是
     */
    private String zlbService;

    /**
     * 文书在这里办签字确认
     */
    private String zlbSign;

    /**
     * 移交类型：1-协查协办，2-案件移交，3-案源移交 444-附件信息
     */
    private String transferType;

    /**
     * 是否变更文书 0:否 1:是
     */
    private String isModifyRecord;
    /**
     * 展示修改按钮类别  0:不允许 1:允许修改 2：重制文书3 补正/更正
     */
    private String showEditButtonType;
    /**
     * 是否修改申请记录 0:否 1:是
     */
    private String isModifyApplyRecord;
    /**
     * 文书是否允许修改
     */
    private String isAllowEdit;


    /**
     * 是否涉嫌犯罪案件移送记录 0:否 1:是
     */
    private String isLawenforceTransferRecord;

    /**
     * 涉嫌犯罪案件移送记录状态
     */
    private String lawenforceTransferRecordStatusName;

    /**
     * 前端操作按钮；caseDetail 案件详情,detail 详情,edit 编辑,del 删除,supMaterial 补充材料,
     * reqReconsider 提请复议,recoveryCase 恢复办案, transfer 移送
     */
    private String lawenforceOpButton;

    /**
     * 关联操作补正更正文书的id(如告知书和决定书的记录ID)
     */
    private String relationDocumentId;
    /**
     * 补正/更正通知书，关联补正/更正审批表id
     */
    private String relationApprovalDocumentId;
    /**
     * 补正/更正审批表和通知记录ID集合
     */
    private List<String> relationDocumentIdList;

    /**
     * 速结程序：
     * 速结程序告知书是否签字确认
     * 0、否，1、是
     */
    private String fastNoticeIsSign;
}
